In computer generated graphics, practically every object viewed in a 3-D graphics screen is modeled as a large number of triangle polygons. Graphic processing of polygons, and in particular triangles, simplifies the complex processes of object modeling, image transformation and image rendering.
Using a sufficient number of triangles any shape and surface can be approximated. For example, FIG. 1 illustrates an object (a rabbit 100) to be modeled in a computer graphics scene. In order to model this object so that it can be manipulated and rendered using computer graphics software and hardware, a graphics developer will transform the model into a mesh model 102 of triangle polygons 104 as illustrated in FIG. 2. Each triangle has three vertices, so adjacent triangles have a common side and two common vertices. Graphics hardware and software then digests such triangle polygons in a number of mathematically complex transformations in order to generate pixels for display on the graphic screen. Each vertex in each triangle is transformed to the screen and then rasterized into pixels which are eventually written into the frame buffer by what is known as a graphics pipeline.
Since the transformation of polygon models into pixels involves extensive mathematical transformations, hardware and software developers are motivated to package and process the triangles in the most efficient manner to minimize the amount of processing that needs to be accomplished. While some methods have been developed, they suffer from a number of deficiencies and may not yield efficient processing of modeled objects in all hardware or software implementations.